package cn.com.agree.contractcenter.domain.contracttemplate.entity;

import cn.com.agree.contractcenter.domain.contracttemplate.entity.valueobject.AgreementTemplate;
import cn.com.agree.contractcenter.domain.contracttemplate.entity.valueobject.Factor;
import lombok.Builder;
import lombok.Getter;

import java.util.List;

/**
 * @author chenrui
 * @description 合约模板
 * @date 2022/10/12
 */
@Getter
@Builder
public class ContractTemplate {

    /**
     * 合约模板ID
     */
    private Integer id;

    /**
     * 合约名称
     */
    private String name;

    /**
     * 合约版本号
     */
    private int version;

    /**
     * 合约模板
     */
    private String serialNo;

    /**
     * 合约类型
     * TODO 枚举类型优化
     */
    private String type;

    /**
     * 电子协议模板
     */
    private AgreementTemplate agreementTemplate;

    /**
     * 公共要素
     */
    private List<Factor> publicFactor;

    /**
     * 个性要素
     */
    private List<Factor> privateFactor;

    /**
     * 合约模板可用状态
     * TODO 枚举类型优化
     */
    private String state;

    /**
     * 产品系统接口调用地址
     */
    private String remoteUrl;

}
